一個請求的URI 實際上是由三個部份組成,
我們可以用 HttpServletRequest 的 getRequestURI() 來取得整個請求的URI(不包括host的域名或者ip)。
如果想取得完整的路徑,可以用getRequestURL()。
requestURI = contextPath + servletPath + pathInfo
contextPath 是環境路徑(Context path),是容器用來決定該挑選哪個 Web 應用程式的依據(因為一個容器上可以部署很多個不同的Web應用程式用於不同情況)。
servletPath 的部份是指 Servlet 路徑(Servlet path),不包括路徑資訊(Path info)與請求參數(Request parameter)。
pathInfo 就是serlvet的url的路徑,不包括contextPath 或者servletPath。
例子:
getRequestURL() = http://localhost:8080/java/resources/request.jsp
getRequestURI() = java/resources/request.jsp
getContextPath() = java
getServletPath() = resources/request.jsp
getPathInfo()= request.jsp